package com.ruoyi.device.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 设备管理对象 device
 * 
 * @author li
 * @date 2025-09-17
 */
@Data
public class Device extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司id */
    @Excel(name = "公司id")
    private Long deptId;

    /** 设备类型id */
    @Excel(name = "设备类型id")
    private Long typeId;

    /** 工单类型id */
    @Excel(name = "工单类型id")
    private Long wId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String name;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String model;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String code;

    /** 使用人 */
    @Excel(name = "使用人")
    private String userName;

    /** 使用人id */
    @Excel(name = "使用人id")
    private Long userId;

    /** 设备RFID卡号 */
    @Excel(name = "设备RFID卡号")
    private String rfid;

    /** 设备二维码 */
    @Excel(name = "设备二维码")
    private String qrcode;

    /** 设备描述 */
    @Excel(name = "设备描述")
    private String deviceInfo;

    /** 使用说明 */
    @Excel(name = "使用说明")
    private String userInfo;

    /** 设备制造商 */
    @Excel(name = "设备制造商")
    private String manufacturer;

    /** 字段拓展 */
    @Excel(name = "字段拓展")
    private String enlarge;

    /** 位置 */
    @Excel(name = "位置")
    private String location;

    /** 购买日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyDate;

    /** 图片 */
    @Excel(name = "图片")
    private String picture;

    /** 凭证号 */
    @Excel(name = "凭证号")
    private Long voucherNo;

    /** 设备状态(0:正常,1:在用,2:不可用) */
    @Excel(name = "设备状态(0:正常,1:在用,2:不可用)")
    private Long state;

    /** 逻辑删除(0:未删除,1:已删除) */
    private Long delFlag;
    //类型名称
    private String typeName;
}
